home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / StdEnv / Clean System Files / StdReal.abc < prev    next >
Encoding:
Text File  |  1997-06-17  |  15.3 KB  |  1,219 lines  |  [TEXT/3PRM]

  1. .comp 914 010111011
  2. .code       0       0       0
  3. .start _nostart_
  4. .depend "StdInt"
  5. .depend "StdOverloaded"
  6. .depend "StdReal"
  7. .endinfo
  8. .implab _cycle_in_spine
  9. .implab _type_error
  10. .implab _hnf
  11. .impdesc _ind
  12. .implab _indirection _eaind
  13. .impdesc e_system_dif
  14. .implab e_system_nif e_system_eaif
  15. .impdesc e_system_dAP
  16. .implab e_system_nAP e_system_eaAP
  17. .implab e_system_sif
  18. .implab e_system_sAP
  19. .impdesc _Cons
  20. .impdesc _Nil
  21. .impdesc _Tuple
  22. .impdesc d_S.1
  23. .implab n_S.1 ea_S.1
  24. .impdesc d_S.2
  25. .implab n_S.2 ea_S.2
  26. .impdesc d_S.3
  27. .implab n_S.3 ea_S.3
  28. .impdesc d_S.4
  29. .implab n_S.4 ea_S.4
  30. .impdesc d_S.5
  31. .implab n_S.5 ea_S.5
  32. .impdesc d_S.6
  33. .implab n_S.6 ea_S.6
  34. .implab _driver
  35. .string m_StdReal "StdReal"
  36. .export e_StdReal_d+;r
  37. .export e_StdReal_s+;r
  38. .export e_StdReal_n+;r
  39. .desc e_StdReal_d+;r e_StdReal_n+;r e_StdReal_l+;r 2 "+ (Real)"
  40. .o 2 0
  41. e_StdReal_l+;r
  42.     repl_args 1 1
  43. .d 2 0
  44.     jsr ea1
  45. .o 0 2 r
  46.     buildR_b 0
  47.     pop_b 2
  48. .d 1 0
  49.     rtn
  50. .n 2 e_StdReal_d+;r
  51. .o 1 0
  52. e_StdReal_n+;r
  53.     push_node _cycle_in_spine 2
  54. .d 2 0
  55.     jsr ea1
  56. .o 0 2 r
  57.     fillR_b 0 0
  58.     pop_b 2
  59. .d 1 0
  60.     rtn
  61. .o 2 0
  62. ea1
  63.     jsr_eval 1
  64.     jsr_eval 0
  65.     pushR_a 1
  66.     pushR_a 0
  67.     pop_a 2
  68. .o 0 4 rr
  69. e_StdReal_s+;r
  70. .o 0 4 rr
  71. s1
  72. .inline +;r
  73.     addR
  74. .end
  75. .d 0 2 r
  76.     rtn
  77. .export e_StdReal_d-;r
  78. .export e_StdReal_s-;r
  79. .export e_StdReal_n-;r
  80. .desc e_StdReal_d-;r e_StdReal_n-;r e_StdReal_l-;r 2 "- (Real)"
  81. .o 2 0
  82. e_StdReal_l-;r
  83.     repl_args 1 1
  84. .d 2 0
  85.     jsr ea2
  86. .o 0 2 r
  87.     buildR_b 0
  88.     pop_b 2
  89. .d 1 0
  90.     rtn
  91. .n 2 e_StdReal_d-;r
  92. .o 1 0
  93. e_StdReal_n-;r
  94.     push_node _cycle_in_spine 2
  95. .d 2 0
  96.     jsr ea2
  97. .o 0 2 r
  98.     fillR_b 0 0
  99.     pop_b 2
  100. .d 1 0
  101.     rtn
  102. .o 2 0
  103. ea2
  104.     jsr_eval 1
  105.     jsr_eval 0
  106.     pushR_a 1
  107.     pushR_a 0
  108.     pop_a 2
  109. .o 0 4 rr
  110. e_StdReal_s-;r
  111. .o 0 4 rr
  112. s2
  113. .inline -;r
  114.     subR
  115. .end
  116. .d 0 2 r
  117.     rtn
  118. .export e_StdReal_dzero;r
  119. .export e_StdReal_szero;r
  120. .export e_StdReal_nzero;r
  121. .desc e_StdReal_dzero;r e_StdReal_nzero;r e_StdReal_lzero;r 0 "zero (Real)"
  122. .o 1 0
  123. e_StdReal_lzero;r
  124.     halt
  125. .n 0 e_StdReal_dzero;r
  126. .o 1 0
  127. e_StdReal_nzero;r
  128.     push_node _cycle_in_spine 0
  129. .d 0 0
  130.     jsr ea3
  131. .o 0 2 r
  132.     fillR_b 0 0
  133.     pop_b 2
  134. .d 1 0
  135.     rtn
  136. .o 0 0
  137. ea3
  138. .o 0 0
  139. e_StdReal_szero;r
  140. .o 0 0
  141. s3
  142. .inline zero;r
  143.     pushR 0.0
  144. .end
  145. .d 0 2 r
  146.     rtn
  147. .export e_StdReal_d*;r
  148. .export e_StdReal_s*;r
  149. .export e_StdReal_n*;r
  150. .desc e_StdReal_d*;r e_StdReal_n*;r e_StdReal_l*;r 2 "* (Real)"
  151. .o 2 0
  152. e_StdReal_l*;r
  153.     repl_args 1 1
  154. .d 2 0
  155.     jsr ea4
  156. .o 0 2 r
  157.     buildR_b 0
  158.     pop_b 2
  159. .d 1 0
  160.     rtn
  161. .n 2 e_StdReal_d*;r
  162. .o 1 0
  163. e_StdReal_n*;r
  164.     push_node _cycle_in_spine 2
  165. .d 2 0
  166.     jsr ea4
  167. .o 0 2 r
  168.     fillR_b 0 0
  169.     pop_b 2
  170. .d 1 0
  171.     rtn
  172. .o 2 0
  173. ea4
  174.     jsr_eval 1
  175.     jsr_eval 0
  176.     pushR_a 1
  177.     pushR_a 0
  178.     pop_a 2
  179. .o 0 4 rr
  180. e_StdReal_s*;r
  181. .o 0 4 rr
  182. s4
  183. .inline *;r
  184.     mulR
  185. .end
  186. .d 0 2 r
  187.     rtn
  188. .export e_StdReal_d/;r
  189. .export e_StdReal_s/;r
  190. .export e_StdReal_n/;r
  191. .desc e_StdReal_d/;r e_StdReal_n/;r e_StdReal_l/;r 2 "/ (Real)"
  192. .o 2 0
  193. e_StdReal_l/;r
  194.     repl_args 1 1
  195. .d 2 0
  196.     jsr ea5
  197. .o 0 2 r
  198.     buildR_b 0
  199.     pop_b 2
  200. .d 1 0
  201.     rtn
  202. .n 2 e_StdReal_d/;r
  203. .o 1 0
  204. e_StdReal_n/;r
  205.     push_node _cycle_in_spine 2
  206. .d 2 0
  207.     jsr ea5
  208. .o 0 2 r
  209.     fillR_b 0 0
  210.     pop_b 2
  211. .d 1 0
  212.     rtn
  213. .o 2 0
  214. ea5
  215.     jsr_eval 1
  216.     jsr_eval 0
  217.     pushR_a 1
  218.     pushR_a 0
  219.     pop_a 2
  220. .o 0 4 rr
  221. e_StdReal_s/;r
  222. .o 0 4 rr
  223. s5
  224. .inline /;r
  225.     divR
  226. .end
  227. .d 0 2 r
  228.     rtn
  229. .export e_StdReal_done;r
  230. .export e_StdReal_sone;r
  231. .export e_StdReal_none;r
  232. .desc e_StdReal_done;r e_StdReal_none;r e_StdReal_lone;r 0 "one (Real)"
  233. .o 1 0
  234. e_StdReal_lone;r
  235.     halt
  236. .n 0 e_StdReal_done;r
  237. .o 1 0
  238. e_StdReal_none;r
  239.     push_node _cycle_in_spine 0
  240. .d 0 0
  241.     jsr ea6
  242. .o 0 2 r
  243.     fillR_b 0 0
  244.     pop_b 2
  245. .d 1 0
  246.     rtn
  247. .o 0 0
  248. ea6
  249. .o 0 0
  250. e_StdReal_sone;r
  251. .o 0 0
  252. s6
  253. .inline one;r
  254.     pushR 1.0
  255. .end
  256. .d 0 2 r
  257.     rtn
  258. .export e_StdReal_d^;r
  259. .export e_StdReal_s^;r
  260. .export e_StdReal_n^;r
  261. .desc e_StdReal_d^;r e_StdReal_n^;r e_StdReal_l^;r 2 "^ (Real)"
  262. .o 2 0
  263. e_StdReal_l^;r
  264.     repl_args 1 1
  265. .d 2 0
  266.     jsr ea7
  267. .o 0 2 r
  268.     buildR_b 0
  269.     pop_b 2
  270. .d 1 0
  271.     rtn
  272. .n 2 e_StdReal_d^;r
  273. .o 1 0
  274. e_StdReal_n^;r
  275.     push_node _cycle_in_spine 2
  276. .d 2 0
  277.     jsr ea7
  278. .o 0 2 r
  279.     fillR_b 0 0
  280.     pop_b 2
  281. .d 1 0
  282.     rtn
  283. .o 2 0
  284. ea7
  285.     jsr_eval 1
  286.     jsr_eval 0
  287.     pushR_a 1
  288.     pushR_a 0
  289.     pop_a 2
  290. .o 0 4 rr
  291. e_StdReal_s^;r
  292. .o 0 4 rr
  293. s7
  294. .inline ^;r
  295.     powR
  296. .end
  297. .d 0 2 r
  298.     rtn
  299. .export e_StdReal_dabs;r
  300. .export e_StdReal_sabs;r
  301. .export e_StdReal_nabs;r
  302. .desc e_StdReal_dabs;r e_StdReal_nabs;r e_StdReal_labs;r 1 "abs (Real)"
  303. .o 2 0
  304. e_StdReal_labs;r
  305.     pop_a 1
  306. .d 1 0
  307.     jsr ea8
  308. .o 0 2 r
  309.     buildR_b 0
  310.     pop_b 2
  311. .d 1 0
  312.     rtn
  313. .n 1 e_StdReal_dabs;r
  314. .o 1 0
  315. e_StdReal_nabs;r
  316.     push_node _cycle_in_spine 1
  317. .d 1 0
  318.     jsr ea8
  319. .o 0 2 r
  320.     fillR_b 0 0
  321.     pop_b 2
  322. .d 1 0
  323.     rtn
  324. .o 1 0
  325. ea8
  326.     jsr_eval 0
  327.     pushR_a 0
  328.     pop_a 1
  329. .o 0 2 r
  330. e_StdReal_sabs;r
  331. .o 0 2 r
  332. s8
  333.     pushR 0.0
  334.     push_b 3
  335.     push_b 3
  336.     ltR
  337.     jmp_false else.1
  338.     jmp then.1
  339. then.1
  340.     push_b 1
  341.     push_b 1
  342.     pushR 0.0
  343.     update_b 3 5
  344.     update_b 2 4
  345.     update_b 1 3
  346.     update_b 0 2
  347.     pop_b 2
  348.     subR
  349. .d 0 2 r
  350.     rtn
  351. else.1
  352. .d 0 2 r
  353.     rtn
  354. .export e_StdReal_dsign;r
  355. .export e_StdReal_ssign;r
  356. .export e_StdReal_nsign;r
  357. .desc e_StdReal_dsign;r e_StdReal_nsign;r e_StdReal_lsign;r 1 "sign (Real)"
  358. .o 2 0
  359. e_StdReal_lsign;r
  360.     pop_a 1
  361. .d 1 0
  362.     jsr ea9
  363. .o 0 1 i
  364.     buildI_b 0
  365.     pop_b 1
  366. .d 1 0
  367.     rtn
  368. .n 1 e_StdReal_dsign;r
  369. .o 1 0
  370. e_StdReal_nsign;r
  371.     push_node _cycle_in_spine 1
  372. .d 1 0
  373.     jsr ea9
  374. .o 0 1 i
  375.     fillI_b 0 0
  376.     pop_b 1
  377. .d 1 0
  378.     rtn
  379. .o 1 0
  380. ea9
  381.     jsr_eval 0
  382.     pushR_a 0
  383.     pop_a 1
  384. .o 0 2 r
  385. e_StdReal_ssign;r
  386. .o 0 2 r
  387. s9
  388.     pushR 0.0
  389.     push_b 3
  390.     push_b 3
  391.     eqR
  392.     jmp_false else.2
  393.     jmp then.2
  394. then.2
  395.     pop_b 2
  396.     pushI 0
  397. .d 0 1 i
  398.     rtn
  399. else.2
  400.     pushR 0.0
  401.     push_b 3
  402.     push_b 3
  403.     update_b 3 5
  404.     update_b 2 4
  405.     update_b 1 3
  406.     update_b 0 2
  407.     pop_b 2
  408.     ltR
  409.     jmp_false else.3
  410.     jmp then.3
  411. then.3
  412.     pushI -1
  413. .d 0 1 i
  414.     rtn
  415. else.3
  416.     pushI 1
  417. .d 0 1 i
  418.     rtn
  419. .export e_StdReal_d~;r
  420. .export e_StdReal_s~;r
  421. .export e_StdReal_n~;r
  422. .desc e_StdReal_d~;r e_StdReal_n~;r e_StdReal_l~;r 1 "~ (Real)"
  423. .o 2 0
  424. e_StdReal_l~;r
  425.     pop_a 1
  426. .d 1 0
  427.     jsr ea10
  428. .o 0 2 r
  429.     buildR_b 0
  430.     pop_b 2
  431. .d 1 0
  432.     rtn
  433. .n 1 e_StdReal_d~;r
  434. .o 1 0
  435. e_StdReal_n~;r
  436.     push_node _cycle_in_spine 1
  437. .d 1 0
  438.     jsr ea10
  439. .o 0 2 r
  440.     fillR_b 0 0
  441.     pop_b 2
  442. .d 1 0
  443.     rtn
  444. .o 1 0
  445. ea10
  446.     jsr_eval 0
  447.     pushR_a 0
  448.     pop_a 1
  449. .o 0 2 r
  450. e_StdReal_s~;r
  451. .o 0 2 r
  452. s10
  453. .inline ~;r
  454.     negR
  455. .end
  456. .d 0 2 r
  457.     rtn
  458. .export e_StdReal_d==;r
  459. .export e_StdReal_s==;r
  460. .export e_StdReal_n==;r
  461. .desc e_StdReal_d==;r e_StdReal_n==;r e_StdReal_l==;r 2 "== (Real)"
  462. .o 2 0
  463. e_StdReal_l==;r
  464.     repl_args 1 1
  465. .d 2 0
  466.     jsr ea11
  467. .o 0 1 b
  468.     buildB_b 0
  469.     pop_b 1
  470. .d 1 0
  471.     rtn
  472. .n 2 e_StdReal_d==;r
  473. .o 1 0
  474. e_StdReal_n==;r
  475.     push_node _cycle_in_spine 2
  476. .d 2 0
  477.     jsr ea11
  478. .o 0 1 b
  479.     fillB_b 0 0
  480.     pop_b 1
  481. .d 1 0
  482.     rtn
  483. .o 2 0
  484. ea11
  485.     jsr_eval 1
  486.     jsr_eval 0
  487.     pushR_a 1
  488.     pushR_a 0
  489.     pop_a 2
  490. .o 0 4 rr
  491. e_StdReal_s==;r
  492. .o 0 4 rr
  493. s11
  494. .inline ==;r
  495.     eqR
  496. .end
  497. .d 0 1 b
  498.     rtn
  499. .export e_StdReal_d<;r
  500. .export e_StdReal_s<;r
  501. .export e_StdReal_n<;r
  502. .desc e_StdReal_d<;r e_StdReal_n<;r e_StdReal_l<;r 2 "< (Real)"
  503. .o 2 0
  504. e_StdReal_l<;r
  505.     repl_args 1 1
  506. .d 2 0
  507.     jsr ea12
  508. .o 0 1 b
  509.     buildB_b 0
  510.     pop_b 1
  511. .d 1 0
  512.     rtn
  513. .n 2 e_StdReal_d<;r
  514. .o 1 0
  515. e_StdReal_n<;r
  516.     push_node _cycle_in_spine 2
  517. .d 2 0
  518.     jsr ea12
  519. .o 0 1 b
  520.     fillB_b 0 0
  521.     pop_b 1
  522. .d 1 0
  523.     rtn
  524. .o 2 0
  525. ea12
  526.     jsr_eval 1
  527.     jsr_eval 0
  528.     pushR_a 1
  529.     pushR_a 0
  530.     pop_a 2
  531. .o 0 4 rr
  532. e_StdReal_s<;r
  533. .o 0 4 rr
  534. s12
  535. .inline <;r
  536.     ltR
  537. .end
  538. .d 0 1 b
  539.     rtn
  540. .export e_StdReal_dtoInt;r
  541. .export e_StdReal_stoInt;r
  542. .export e_StdReal_ntoInt;r
  543. .desc e_StdReal_dtoInt;r e_StdReal_ntoInt;r e_StdReal_ltoInt;r 1 "toInt (Real)"
  544. .o 2 0
  545. e_StdReal_ltoInt;r
  546.     pop_a 1
  547. .d 1 0
  548.     jsr ea13
  549. .o 0 1 i
  550.     buildI_b 0
  551.     pop_b 1
  552. .d 1 0
  553.     rtn
  554. .n 1 e_StdReal_dtoInt;r
  555. .o 1 0
  556. e_StdReal_ntoInt;r
  557.     push_node _cycle_in_spine 1
  558. .d 1 0
  559.     jsr ea13
  560. .o 0 1 i
  561.     fillI_b 0 0
  562.     pop_b 1
  563. .d 1 0
  564.     rtn
  565. .o 1 0
  566. ea13
  567.     jsr_eval 0
  568.     pushR_a 0
  569.     pop_a 1
  570. .o 0 2 r
  571. e_StdReal_stoInt;r
  572. .o 0 2 r
  573. s13
  574. .inline toInt;r
  575.     RtoI
  576. .end
  577. .d 0 1 i
  578.     rtn
  579. .export e_StdReal_dtoReal;r
  580. .export e_StdReal_stoReal;r
  581. .export e_StdReal_ntoReal;r
  582. .desc e_StdReal_dtoReal;r e_StdReal_ntoReal;r e_StdReal_ltoReal;r 1 "toReal (Real)"
  583. .o 2 0
  584. e_StdReal_ltoReal;r
  585.     pop_a 1
  586. .d 1 0
  587.     jsr ea14
  588. .o 0 2 r
  589.     buildR_b 0
  590.     pop_b 2
  591. .d 1 0
  592.     rtn
  593. .n 1 e_StdReal_dtoReal;r
  594. .o 1 0
  595. e_StdReal_ntoReal;r
  596.     push_node _cycle_in_spine 1
  597. .d 1 0
  598.     jsr ea14
  599. .o 0 2 r
  600.     fillR_b 0 0
  601.     pop_b 2
  602. .d 1 0
  603.     rtn
  604. .o 1 0
  605. ea14
  606.     jsr_eval 0
  607.     pushR_a 0
  608.     pop_a 1
  609. .o 0 2 r
  610. e_StdReal_stoReal;r
  611. .o 0 2 r
  612. s14
  613. .inline toReal;r
  614.     no_op
  615. .end
  616. .d 0 2 r
  617.     rtn
  618. .export e_StdReal_dtoString;r
  619. .export e_StdReal_stoString;r
  620. .export e_StdReal_ntoString;r
  621. .desc e_StdReal_dtoString;r e_StdReal_ntoString;r e_StdReal_ltoString;r 1 "toString (Real)"
  622. .o 2 0
  623. e_StdReal_ltoString;r
  624.     pop_a 1
  625. .d 1 0
  626.     jsr ea15
  627. .o 1 0
  628.     create
  629.     push_a 1
  630.     fill ARRAY 1 _hnf 1
  631.     update_a 0 1
  632.     pop_a 1
  633. .d 1 0
  634.     rtn
  635. .n 1 e_StdReal_dtoString;r
  636. .o 1 0
  637. e_StdReal_ntoString;r
  638.     push_node _cycle_in_spine 1
  639. .d 1 0
  640.     jsr ea15
  641. .o 1 0
  642.     push_a 0
  643.     fill ARRAY 1 _hnf 2
  644.     pop_a 1
  645. .d 1 0
  646.     rtn
  647. .o 1 0
  648. ea15
  649.     jsr_eval 0
  650.     pushR_a 0
  651.     pop_a 1
  652. .o 0 2 r
  653. e_StdReal_stoString;r
  654. .o 0 2 r
  655. s15
  656. .inline toString;r
  657. .d 0 2 r
  658.     jsr RtoAC
  659. .o 1 0
  660. .end
  661. .d 1 0
  662.     rtn
  663. .export e_StdReal_dfromReal;i
  664. .export e_StdReal_sfromReal;i
  665. .export e_StdReal_nfromReal;i
  666. .desc e_StdReal_dfromReal;i e_StdReal_nfromReal;i e_StdReal_lfromReal;i 1 "fromReal (Int)"
  667. .o 2 0
  668. e_StdReal_lfromReal;i
  669.     pop_a 1
  670. .d 1 0
  671.     jsr ea16
  672. .o 0 1 i
  673.     buildI_b 0
  674.     pop_b 1
  675. .d 1 0
  676.     rtn
  677. .n 1 e_StdReal_dfromReal;i
  678. .o 1 0
  679. e_StdReal_nfromReal;i
  680.     push_node _cycle_in_spine 1
  681. .d 1 0
  682.     jsr ea16
  683. .o 0 1 i
  684.     fillI_b 0 0
  685.     pop_b 1
  686. .d 1 0
  687.     rtn
  688. .o 1 0
  689. ea16
  690.     jsr_eval 0
  691.     pushR_a 0
  692.     pop_a 1
  693. .o 0 2 r
  694. e_StdReal_sfromReal;i
  695. .o 0 2 r
  696. s16
  697. .inline fromReal;i
  698.     RtoI
  699. .end
  700. .d 0 1 i
  701.     rtn
  702. .export e_StdReal_dfromReal;r
  703. .export e_StdReal_sfromReal;r
  704. .export e_StdReal_nfromReal;r
  705. .desc e_StdReal_dfromReal;r e_StdReal_nfromReal;r e_StdReal_lfromReal;r 1 "fromReal (Real)"
  706. .o 2 0
  707. e_StdReal_lfromReal;r
  708.     pop_a 1
  709. .d 1 0
  710.     jsr ea17
  711. .o 0 2 r
  712.     buildR_b 0
  713.     pop_b 2
  714. .d 1 0
  715.     rtn
  716. .n 1 e_StdReal_dfromReal;r
  717. .o 1 0
  718. e_StdReal_nfromReal;r
  719.     push_node _cycle_in_spine 1
  720. .d 1 0
  721.     jsr ea17
  722. .o 0 2 r
  723.     fillR_b 0 0
  724.     pop_b 2
  725. .d 1 0
  726.     rtn
  727. .o 1 0
  728. ea17
  729.     jsr_eval 0
  730.     pushR_a 0
  731.     pop_a 1
  732. .o 0 2 r
  733. e_StdReal_sfromReal;r
  734. .o 0 2 r
  735. s17
  736. .inline fromReal;r
  737.     no_op
  738. .end
  739. .d 0 2 r
  740.     rtn
  741. .export e_StdReal_dfromReal;#
  742. .export e_StdReal_sfromReal;#
  743. .export e_StdReal_nfromReal;#
  744. .desc e_StdReal_dfromReal;# e_StdReal_nfromReal;# e_StdReal_lfromReal;# 1 "fromReal ({#})"
  745. .o 2 0
  746. e_StdReal_lfromReal;#
  747.     pop_a 1
  748. .d 1 0
  749.     jsr ea18
  750. .o 1 0
  751.     create
  752.     push_a 1
  753.     fill ARRAY 1 _hnf 1
  754.     update_a 0 1
  755.     pop_a 1
  756. .d 1 0
  757.     rtn
  758. .n 1 e_StdReal_dfromReal;#
  759. .o 1 0
  760. e_StdReal_nfromReal;#
  761.     push_node _cycle_in_spine 1
  762. .d 1 0
  763.     jsr ea18
  764. .o 1 0
  765.     push_a 0
  766.     fill ARRAY 1 _hnf 2
  767.     pop_a 1
  768. .d 1 0
  769.     rtn
  770. .o 1 0
  771. ea18
  772.     jsr_eval 0
  773.     pushR_a 0
  774.     pop_a 1
  775. .o 0 2 r
  776. e_StdReal_sfromReal;#
  777. .o 0 2 r
  778. s18
  779. .inline fromReal;#
  780. .d 0 2 r
  781.     jsr RtoAC
  782. .o 1 0
  783. .end
  784. .d 1 0
  785.     rtn
  786. .export e_StdReal_dln
  787. .export e_StdReal_sln
  788. .export e_StdReal_nln
  789. .desc e_StdReal_dln e_StdReal_nln e_StdReal_lln 1 "ln"
  790. .o 2 0
  791. e_StdReal_lln
  792.     pop_a 1
  793. .d 1 0
  794.     jsr ea19
  795. .o 0 2 r
  796.     buildR_b 0
  797.     pop_b 2
  798. .d 1 0
  799.     rtn
  800. .n 1 e_StdReal_dln
  801. .o 1 0
  802. e_StdReal_nln
  803.     push_node _cycle_in_spine 1
  804. .d 1 0
  805.     jsr ea19
  806. .o 0 2 r
  807.     fillR_b 0 0
  808.     pop_b 2
  809. .d 1 0
  810.     rtn
  811. .o 1 0
  812. ea19
  813.     jsr_eval 0
  814.     pushR_a 0
  815.     pop_a 1
  816. .o 0 2 r
  817. e_StdReal_sln
  818. .o 0 2 r
  819. s19
  820. .inline ln
  821.     lnR
  822. .end
  823. .d 0 2 r
  824.     rtn
  825. .export e_StdReal_dlog10
  826. .export e_StdReal_slog10
  827. .export e_StdReal_nlog10
  828. .desc e_StdReal_dlog10 e_StdReal_nlog10 e_StdReal_llog10 1 "log10"
  829. .o 2 0
  830. e_StdReal_llog10
  831.     pop_a 1
  832. .d 1 0
  833.     jsr ea20
  834. .o 0 2 r
  835.     buildR_b 0
  836.     pop_b 2
  837. .d 1 0
  838.     rtn
  839. .n 1 e_StdReal_dlog10
  840. .o 1 0
  841. e_StdReal_nlog10
  842.     push_node _cycle_in_spine 1
  843. .d 1 0
  844.     jsr ea20
  845. .o 0 2 r
  846.     fillR_b 0 0
  847.     pop_b 2
  848. .d 1 0
  849.     rtn
  850. .o 1 0
  851. ea20
  852.     jsr_eval 0
  853.     pushR_a 0
  854.     pop_a 1
  855. .o 0 2 r
  856. e_StdReal_slog10
  857. .o 0 2 r
  858. s20
  859. .inline log10
  860.     log10R
  861. .end
  862. .d 0 2 r
  863.     rtn
  864. .export e_StdReal_dexp
  865. .export e_StdReal_sexp
  866. .export e_StdReal_nexp
  867. .desc e_StdReal_dexp e_StdReal_nexp e_StdReal_lexp 1 "exp"
  868. .o 2 0
  869. e_StdReal_lexp
  870.     pop_a 1
  871. .d 1 0
  872.     jsr ea21
  873. .o 0 2 r
  874.     buildR_b 0
  875.     pop_b 2
  876. .d 1 0
  877.     rtn
  878. .n 1 e_StdReal_dexp
  879. .o 1 0
  880. e_StdReal_nexp
  881.     push_node _cycle_in_spine 1
  882. .d 1 0
  883.     jsr ea21
  884. .o 0 2 r
  885.     fillR_b 0 0
  886.     pop_b 2
  887. .d 1 0
  888.     rtn
  889. .o 1 0
  890. ea21
  891.     jsr_eval 0
  892.     pushR_a 0
  893.     pop_a 1
  894. .o 0 2 r
  895. e_StdReal_sexp
  896. .o 0 2 r
  897. s21
  898. .inline exp
  899.     expR
  900. .end
  901. .d 0 2 r
  902.     rtn
  903. .export e_StdReal_dsqrt
  904. .export e_StdReal_ssqrt
  905. .export e_StdReal_nsqrt
  906. .desc e_StdReal_dsqrt e_StdReal_nsqrt e_StdReal_lsqrt 1 "sqrt"
  907. .o 2 0
  908. e_StdReal_lsqrt
  909.     pop_a 1
  910. .d 1 0
  911.     jsr ea22
  912. .o 0 2 r
  913.     buildR_b 0
  914.     pop_b 2
  915. .d 1 0
  916.     rtn
  917. .n 1 e_StdReal_dsqrt
  918. .o 1 0
  919. e_StdReal_nsqrt
  920.     push_node _cycle_in_spine 1
  921. .d 1 0
  922.     jsr ea22
  923. .o 0 2 r
  924.     fillR_b 0 0
  925.     pop_b 2
  926. .d 1 0
  927.     rtn
  928. .o 1 0
  929. ea22
  930.     jsr_eval 0
  931.     pushR_a 0
  932.     pop_a 1
  933. .o 0 2 r
  934. e_StdReal_ssqrt
  935. .o 0 2 r
  936. s22
  937. .inline sqrt
  938.     sqrtR
  939. .end
  940. .d 0 2 r
  941.     rtn
  942. .export e_StdReal_dsin
  943. .export e_StdReal_ssin
  944. .export e_StdReal_nsin
  945. .desc e_StdReal_dsin e_StdReal_nsin e_StdReal_lsin 1 "sin"
  946. .o 2 0
  947. e_StdReal_lsin
  948.     pop_a 1
  949. .d 1 0
  950.     jsr ea23
  951. .o 0 2 r
  952.     buildR_b 0
  953.     pop_b 2
  954. .d 1 0
  955.     rtn
  956. .n 1 e_StdReal_dsin
  957. .o 1 0
  958. e_StdReal_nsin
  959.     push_node _cycle_in_spine 1
  960. .d 1 0
  961.     jsr ea23
  962. .o 0 2 r
  963.     fillR_b 0 0
  964.     pop_b 2
  965. .d 1 0
  966.     rtn
  967. .o 1 0
  968. ea23
  969.     jsr_eval 0
  970.     pushR_a 0
  971.     pop_a 1
  972. .o 0 2 r
  973. e_StdReal_ssin
  974. .o 0 2 r
  975. s23
  976. .inline sin
  977.     sinR
  978. .end
  979. .d 0 2 r
  980.     rtn
  981. .export e_StdReal_dcos
  982. .export e_StdReal_scos
  983. .export e_StdReal_ncos
  984. .desc e_StdReal_dcos e_StdReal_ncos e_StdReal_lcos 1 "cos"
  985. .o 2 0
  986. e_StdReal_lcos
  987.     pop_a 1
  988. .d 1 0
  989.     jsr ea24
  990. .o 0 2 r
  991.     buildR_b 0
  992.     pop_b 2
  993. .d 1 0
  994.     rtn
  995. .n 1 e_StdReal_dcos
  996. .o 1 0
  997. e_StdReal_ncos
  998.     push_node _cycle_in_spine 1
  999. .d 1 0
  1000.     jsr ea24
  1001. .o 0 2 r
  1002.     fillR_b 0 0
  1003.     pop_b 2
  1004. .d 1 0
  1005.     rtn
  1006. .o 1 0
  1007. ea24
  1008.     jsr_eval 0
  1009.     pushR_a 0
  1010.     pop_a 1
  1011. .o 0 2 r
  1012. e_StdReal_scos
  1013. .o 0 2 r
  1014. s24
  1015. .inline cos
  1016.     cosR
  1017. .end
  1018. .d 0 2 r
  1019.     rtn
  1020. .export e_StdReal_dtan
  1021. .export e_StdReal_stan
  1022. .export e_StdReal_ntan
  1023. .desc e_StdReal_dtan e_StdReal_ntan e_StdReal_ltan 1 "tan"
  1024. .o 2 0
  1025. e_StdReal_ltan
  1026.     pop_a 1
  1027. .d 1 0
  1028.     jsr ea25
  1029. .o 0 2 r
  1030.     buildR_b 0
  1031.     pop_b 2
  1032. .d 1 0
  1033.     rtn
  1034. .n 1 e_StdReal_dtan
  1035. .o 1 0
  1036. e_StdReal_ntan
  1037.     push_node _cycle_in_spine 1
  1038. .d 1 0
  1039.     jsr ea25
  1040. .o 0 2 r
  1041.     fillR_b 0 0
  1042.     pop_b 2
  1043. .d 1 0
  1044.     rtn
  1045. .o 1 0
  1046. ea25
  1047.     jsr_eval 0
  1048.     pushR_a 0
  1049.     pop_a 1
  1050. .o 0 2 r
  1051. e_StdReal_stan
  1052. .o 0 2 r
  1053. s25
  1054. .inline tan
  1055.     tanR
  1056. .end
  1057. .d 0 2 r
  1058.     rtn
  1059. .export e_StdReal_dasin
  1060. .export e_StdReal_sasin
  1061. .export e_StdReal_nasin
  1062. .desc e_StdReal_dasin e_StdReal_nasin e_StdReal_lasin 1 "asin"
  1063. .o 2 0
  1064. e_StdReal_lasin
  1065.     pop_a 1
  1066. .d 1 0
  1067.     jsr ea26
  1068. .o 0 2 r
  1069.     buildR_b 0
  1070.     pop_b 2
  1071. .d 1 0
  1072.     rtn
  1073. .n 1 e_StdReal_dasin
  1074. .o 1 0
  1075. e_StdReal_nasin
  1076.     push_node _cycle_in_spine 1
  1077. .d 1 0
  1078.     jsr ea26
  1079. .o 0 2 r
  1080.     fillR_b 0 0
  1081.     pop_b 2
  1082. .d 1 0
  1083.     rtn
  1084. .o 1 0
  1085. ea26
  1086.     jsr_eval 0
  1087.     pushR_a 0
  1088.     pop_a 1
  1089. .o 0 2 r
  1090. e_StdReal_sasin
  1091. .o 0 2 r
  1092. s26
  1093. .inline asin
  1094.     asinR
  1095. .end
  1096. .d 0 2 r
  1097.     rtn
  1098. .export e_StdReal_dacos
  1099. .export e_StdReal_sacos
  1100. .export e_StdReal_nacos
  1101. .desc e_StdReal_dacos e_StdReal_nacos e_StdReal_lacos 1 "acos"
  1102. .o 2 0
  1103. e_StdReal_lacos
  1104.     pop_a 1
  1105. .d 1 0
  1106.     jsr ea27
  1107. .o 0 2 r
  1108.     buildR_b 0
  1109.     pop_b 2
  1110. .d 1 0
  1111.     rtn
  1112. .n 1 e_StdReal_dacos
  1113. .o 1 0
  1114. e_StdReal_nacos
  1115.     push_node _cycle_in_spine 1
  1116. .d 1 0
  1117.     jsr ea27
  1118. .o 0 2 r
  1119.     fillR_b 0 0
  1120.     pop_b 2
  1121. .d 1 0
  1122.     rtn
  1123. .o 1 0
  1124. ea27
  1125.     jsr_eval 0
  1126.     pushR_a 0
  1127.     pop_a 1
  1128. .o 0 2 r
  1129. e_StdReal_sacos
  1130. .o 0 2 r
  1131. s27
  1132. .inline acos
  1133.     acosR
  1134. .end
  1135. .d 0 2 r
  1136.     rtn
  1137. .export e_StdReal_datan
  1138. .export e_StdReal_satan
  1139. .export e_StdReal_natan
  1140. .desc e_StdReal_datan e_StdReal_natan e_StdReal_latan 1 "atan"
  1141. .o 2 0
  1142. e_StdReal_latan
  1143.     pop_a 1
  1144. .d 1 0
  1145.     jsr ea28
  1146. .o 0 2 r
  1147.     buildR_b 0
  1148.     pop_b 2
  1149. .d 1 0
  1150.     rtn
  1151. .n 1 e_StdReal_datan
  1152. .o 1 0
  1153. e_StdReal_natan
  1154.     push_node _cycle_in_spine 1
  1155. .d 1 0
  1156.     jsr ea28
  1157. .o 0 2 r
  1158.     fillR_b 0 0
  1159.     pop_b 2
  1160. .d 1 0
  1161.     rtn
  1162. .o 1 0
  1163. ea28
  1164.     jsr_eval 0
  1165.     pushR_a 0
  1166.     pop_a 1
  1167. .o 0 2 r
  1168. e_StdReal_satan
  1169. .o 0 2 r
  1170. s28
  1171. .inline atan
  1172.     atanR
  1173. .end
  1174. .d 0 2 r
  1175.     rtn
  1176. .export e_StdReal_dentier
  1177. .export e_StdReal_sentier
  1178. .export e_StdReal_nentier
  1179. .desc e_StdReal_dentier e_StdReal_nentier e_StdReal_lentier 1 "entier"
  1180. .o 2 0
  1181. e_StdReal_lentier
  1182.     pop_a 1
  1183. .d 1 0
  1184.     jsr ea29
  1185. .o 0 1 i
  1186.     buildI_b 0
  1187.     pop_b 1
  1188. .d 1 0
  1189.     rtn
  1190. .n 1 e_StdReal_dentier
  1191. .o 1 0
  1192. e_StdReal_nentier
  1193.     push_node _cycle_in_spine 1
  1194. .d 1 0
  1195.     jsr ea29
  1196. .o 0 1 i
  1197.     fillI_b 0 0
  1198.     pop_b 1
  1199. .d 1 0
  1200.     rtn
  1201. .o 1 0
  1202. ea29
  1203.     jsr_eval 0
  1204.     pushR_a 0
  1205.     pop_a 1
  1206. .o 0 2 r
  1207. e_StdReal_sentier
  1208. .o 0 2 r
  1209. s29
  1210. .inline entier
  1211.     entierR
  1212. .end
  1213. .inline abs;r
  1214. .end
  1215. .inline sign;r
  1216. .end
  1217. .d 0 1 i
  1218.     rtn
  1219.